Column-oriented databases are designed to store data tables as individual objects, each object corresponding to a respective column of data. Column-oriented databases are suited for online analytical processing and enable reusing (or recycling) intermediate query results of previously executed instructions. According to the operator-at-a-time execution model implemented by column-oriented databases, database queries are divided into discrete instructions which are executed individually, and each intermediate query result, resulting from a respective instruction, is materialized and can serve as an input for the next operator. The available intermediate query results can also be reused in later queries sharing common instructions.